<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta http-equiv="cache-control" content="no-cache">
<title>Genivia - wsddapi.h File Reference</title>
<link href="genivia_tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="genivia_content.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="top">
 <div id="titlearea">
  <table height="72px" width="100%" cellspacing="0" cellpadding="0">
   <tbody>
    <tr>
     <td width="10%">&nbsp;</td>
     <td width="175px"><a href="https://www.genivia.com"><img alt="Genivia" src="GeniviaLogo2_trans_noslogan.png"/></a></td>
     <td class="tab_home"><a href="https://www.genivia.com">Home</a></td>
     <td class="tab_home"><a href="https://www.genivia.com/docs.html">Documentation</a></td>
     <td>
      <div style="float: right; font-size: 18px; font-weight: bold;">wsddapi.h File Reference</div>
      <br>
      <div style="float: right; font-size: 10px;">updated Thu Nov 19 2020 by Robert van Engelen</div>
     </td>
     <td width="10%">&nbsp;</td>
    </tr>
   </tbody>
  </table>
 </div>
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_b4c3aec6cd8f28418150dce663061cfa.html">plugin</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">wsddapi.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="wsaapi_8h.html">wsaapi.h</a>&quot;</code><br />
<code>#include &quot;threads.h&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for wsddapi.h:</div>
<div class="dyncontent">
<div class="center"><img src="wsddapi_8h__incl.png" border="0" usemap="#wsddapi_8h" alt=""/></div>
<map name="wsddapi_8h" id="wsddapi_8h">
<area shape="rect" id="node3" href="wsaapi_8h.html" title="wsaapi.h" alt="" coords="4,83,77,111"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="wsddapi_8h__dep__incl.png" border="0" usemap="#wsddapi_8hdep" alt=""/></div>
<map name="wsddapi_8hdep" id="wsddapi_8hdep">
<area shape="rect" id="node3" href="wsddapi_8c.html" title="wsddapi.c" alt="" coords="5,83,85,111"/>
</map>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a7f11dbab2cf855d8c508305c7082d53b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a7f11dbab2cf855d8c508305c7082d53b">SOAP_WSDD_APP_MAX_DELAY</a>&#160;&#160;&#160;(500)   /* ms delay */</td></tr>
<tr class="separator:a7f11dbab2cf855d8c508305c7082d53b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a089c2cc861af78d1c5db0b4587cf1692"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a089c2cc861af78d1c5db0b4587cf1692">soap_wsdd_mode</a></td></tr>
<tr class="separator:a089c2cc861af78d1c5db0b4587cf1692"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2afcbdc0ad2f8a379b7f64a6b6acbc1"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="wsddapi_8h.html#adcd746964993574992fa2bafa83aed5c">soap_wsdd_to</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#ad2afcbdc0ad2f8a379b7f64a6b6acbc1">soap_wsdd_to</a></td></tr>
<tr class="separator:ad2afcbdc0ad2f8a379b7f64a6b6acbc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a4d8f41b14eeb3500631fd39cad15b4a7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a> { <a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7a06282f02ad809feed167d23a3cf5ac46">SOAP_WSDD_MANAGED</a>, 
<a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7ac6264855642c10f4a15a1c2752ba7b91">SOAP_WSDD_ADHOC</a>
 }</td></tr>
<tr class="separator:a4d8f41b14eeb3500631fd39cad15b4a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcd746964993574992fa2bafa83aed5c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#adcd746964993574992fa2bafa83aed5c">soap_wsdd_to</a> { <a class="el" href="wsddapi_8h.html#adcd746964993574992fa2bafa83aed5ca679dc4dd44e15e83c37723ae7a25c676">SOAP_WSDD_TO_DP</a>, 
<a class="el" href="wsddapi_8h.html#adcd746964993574992fa2bafa83aed5caeaede3f37955eb85c93830a96b8d0b64">SOAP_WSDD_TO_TS</a>
 }</td></tr>
<tr class="separator:adcd746964993574992fa2bafa83aed5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a67c9f7fa5da1b42ef5b4bfb141705fe0"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a67c9f7fa5da1b42ef5b4bfb141705fe0">soap_send___wsdd__Hello</a> (struct soap *soap, const char *soap_endpoint, const char *soap_action, struct <a class="el" href="structwsdd_____hello_type.html">wsdd__HelloType</a> *wsdd__Hello)</td></tr>
<tr class="separator:a67c9f7fa5da1b42ef5b4bfb141705fe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc8ca5315e5a93644471cee43a5a4203"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#afc8ca5315e5a93644471cee43a5a4203">soap_recv___wsdd__Hello</a> (struct soap *soap, struct <a class="el" href="wsdx_8h.html#aeb6a647e94c6487994f5d7e93ed1b777">__wsdd__Hello</a> *)</td></tr>
<tr class="separator:afc8ca5315e5a93644471cee43a5a4203"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a035fe437f56818426824c5bfd0d63f7d"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a035fe437f56818426824c5bfd0d63f7d">soap_send___wsdd__Bye</a> (struct soap *soap, const char *soap_endpoint, const char *soap_action, struct <a class="el" href="structwsdd_____bye_type.html">wsdd__ByeType</a> *wsdd__Bye)</td></tr>
<tr class="separator:a035fe437f56818426824c5bfd0d63f7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5289f81b5576ca006669501cb745aa24"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a5289f81b5576ca006669501cb745aa24">soap_recv___wsdd__Bye</a> (struct soap *soap, struct <a class="el" href="wsdx_8h.html#ad8cc7556954a9a110641e869eb363704">__wsdd__Bye</a> *)</td></tr>
<tr class="separator:a5289f81b5576ca006669501cb745aa24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac10fa758f61efefa8054ccd3b79ea66a"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#ac10fa758f61efefa8054ccd3b79ea66a">soap_send___wsdd__Probe</a> (struct soap *soap, const char *soap_endpoint, const char *soap_action, struct <a class="el" href="structwsdd_____probe_type.html">wsdd__ProbeType</a> *wsdd__Probe)</td></tr>
<tr class="separator:ac10fa758f61efefa8054ccd3b79ea66a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e2a94fce81b0f13c0b8a17a9927f9a5"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a4e2a94fce81b0f13c0b8a17a9927f9a5">soap_recv___wsdd__Probe</a> (struct soap *soap, struct <a class="el" href="wsdx_8h.html#a43e6efe48e11a2a907ce4a625f8e81c1">__wsdd__Probe</a> *)</td></tr>
<tr class="separator:a4e2a94fce81b0f13c0b8a17a9927f9a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae85ebbf00b9e926282d9519c419494d9"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#ae85ebbf00b9e926282d9519c419494d9">soap_send___wsdd__ProbeMatches</a> (struct soap *soap, const char *soap_endpoint, const char *soap_action, struct <a class="el" href="structwsdd_____probe_matches_type.html">wsdd__ProbeMatchesType</a> *wsdd__ProbeMatches)</td></tr>
<tr class="separator:ae85ebbf00b9e926282d9519c419494d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a38bb5eaab943657f008d324a52f441"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a1a38bb5eaab943657f008d324a52f441">soap_recv___wsdd__ProbeMatches</a> (struct soap *soap, struct <a class="el" href="wsdx_8h.html#ab56d88c0bf8e861f01f84735936c912e">__wsdd__ProbeMatches</a> *)</td></tr>
<tr class="separator:a1a38bb5eaab943657f008d324a52f441"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4542c182e91c55e03b8125e75c64b09"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#ab4542c182e91c55e03b8125e75c64b09">soap_send___wsdd__Resolve</a> (struct soap *soap, const char *soap_endpoint, const char *soap_action, struct <a class="el" href="structwsdd_____resolve_type.html">wsdd__ResolveType</a> *wsdd__Resolve)</td></tr>
<tr class="separator:ab4542c182e91c55e03b8125e75c64b09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5150fcfc64cde5a0e6b3b9ecaf068c2"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#ac5150fcfc64cde5a0e6b3b9ecaf068c2">soap_recv___wsdd__Resolve</a> (struct soap *soap, struct <a class="el" href="wsdx_8h.html#a2c473690e347a514cecf939fe6483fd4">__wsdd__Resolve</a> *)</td></tr>
<tr class="separator:ac5150fcfc64cde5a0e6b3b9ecaf068c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aceb13e1f303b6f0d41b84a865e387d54"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#aceb13e1f303b6f0d41b84a865e387d54">soap_send___wsdd__ResolveMatches</a> (struct soap *soap, const char *soap_endpoint, const char *soap_action, struct <a class="el" href="structwsdd_____resolve_matches_type.html">wsdd__ResolveMatchesType</a> *wsdd__ResolveMatches)</td></tr>
<tr class="separator:aceb13e1f303b6f0d41b84a865e387d54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af44105a8b9483f8bfb07546099b83203"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#af44105a8b9483f8bfb07546099b83203">soap_recv___wsdd__ResolveMatches</a> (struct soap *soap, struct <a class="el" href="wsdx_8h.html#afb2add6c7721f9950790a18d55829f12">__wsdd__ResolveMatches</a> *)</td></tr>
<tr class="separator:af44105a8b9483f8bfb07546099b83203"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ec500ee6af80546d3dcfdda8e92491a"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC1 void SOAP_FMAC2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a1ec500ee6af80546d3dcfdda8e92491a">soap_wsdd_set_InstanceId</a> (unsigned int InstanceId)</td></tr>
<tr class="memdesc:a1ec500ee6af80546d3dcfdda8e92491a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the global AppSequence InstanceId that is used to populate messages.  <a href="#a1ec500ee6af80546d3dcfdda8e92491a">More...</a><br /></td></tr>
<tr class="separator:a1ec500ee6af80546d3dcfdda8e92491a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a482275d15c041cf2b9d444ae6978f714"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC1 void SOAP_FMAC2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a482275d15c041cf2b9d444ae6978f714">soap_wsdd_set_SequenceId</a> (const char *SequenceId)</td></tr>
<tr class="memdesc:a482275d15c041cf2b9d444ae6978f714"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the global AppSequence SequenceId that is used to populate messages.  <a href="#a482275d15c041cf2b9d444ae6978f714">More...</a><br /></td></tr>
<tr class="separator:a482275d15c041cf2b9d444ae6978f714"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4468038ee56dc4709e1550f57dadb0c4"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC1 int SOAP_FMAC2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a4468038ee56dc4709e1550f57dadb0c4">soap_wsdd_Hello</a> (struct soap *soap, <a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a> mode, const char *endpoint, const char *MessageID, const char *RelatesTo, const char *EndpointReference, const char *Types, const char *Scopes, const char *MatchBy, const char *XAddrs, unsigned int MetadataVersion)</td></tr>
<tr class="memdesc:a4468038ee56dc4709e1550f57dadb0c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">TS or DP Hello message to join a network.  <a href="#a4468038ee56dc4709e1550f57dadb0c4">More...</a><br /></td></tr>
<tr class="separator:a4468038ee56dc4709e1550f57dadb0c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5912eb51290b18adb51cfa80e8c55671"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC1 int SOAP_FMAC2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a5912eb51290b18adb51cfa80e8c55671">soap_wsdd_Bye</a> (struct soap *soap, <a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a> mode, const char *endpoint, const char *MessageID, const char *EndpointReference, const char *Types, const char *Scopes, const char *MatchBy, const char *XAddrs, unsigned int MetadataVersion)</td></tr>
<tr class="memdesc:a5912eb51290b18adb51cfa80e8c55671"><td class="mdescLeft">&#160;</td><td class="mdescRight">TS or DP Bye message to leave a network.  <a href="#a5912eb51290b18adb51cfa80e8c55671">More...</a><br /></td></tr>
<tr class="separator:a5912eb51290b18adb51cfa80e8c55671"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79d93ab49aba655b6b767b28d0aff6ad"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC1 int SOAP_FMAC2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a79d93ab49aba655b6b767b28d0aff6ad">soap_wsdd_Probe</a> (struct soap *soap, <a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a> mode, <a class="el" href="wsddapi_8h.html#adcd746964993574992fa2bafa83aed5c">soap_wsdd_to</a> to, const char *endpoint, const char *MessageID, const char *ReplyTo, const char *Types, const char *Scopes, const char *MatchBy)</td></tr>
<tr class="memdesc:a79d93ab49aba655b6b767b28d0aff6ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Client Probe message to a TS or DP.  <a href="#a79d93ab49aba655b6b767b28d0aff6ad">More...</a><br /></td></tr>
<tr class="separator:a79d93ab49aba655b6b767b28d0aff6ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfcc0ff137be16fd9706f21faaeb7b23"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC1 int SOAP_FMAC2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#acfcc0ff137be16fd9706f21faaeb7b23">soap_wsdd_Resolve</a> (struct soap *soap, <a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a> mode, <a class="el" href="wsddapi_8h.html#adcd746964993574992fa2bafa83aed5c">soap_wsdd_to</a> to, const char *endpoint, const char *MessageID, const char *ReplyTo, const char *EndpointReference)</td></tr>
<tr class="memdesc:acfcc0ff137be16fd9706f21faaeb7b23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Client Resolve message to a TS or DP.  <a href="#acfcc0ff137be16fd9706f21faaeb7b23">More...</a><br /></td></tr>
<tr class="separator:acfcc0ff137be16fd9706f21faaeb7b23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3a76f8ee99b6a2d5a6e30d2d1d3badd"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC1 void SOAP_FMAC2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#ad3a76f8ee99b6a2d5a6e30d2d1d3badd">soap_wsdd_init_ProbeMatches</a> (struct soap *soap, struct <a class="el" href="structwsdd_____probe_matches_type.html">wsdd__ProbeMatchesType</a> *matches)</td></tr>
<tr class="memdesc:ad3a76f8ee99b6a2d5a6e30d2d1d3badd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initalize the probe matches container.  <a href="#ad3a76f8ee99b6a2d5a6e30d2d1d3badd">More...</a><br /></td></tr>
<tr class="separator:ad3a76f8ee99b6a2d5a6e30d2d1d3badd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f4515c5b9e25069b3a6051ffa73d288"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC1 int SOAP_FMAC2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a4f4515c5b9e25069b3a6051ffa73d288">soap_wsdd_add_ProbeMatch</a> (struct soap *soap, struct <a class="el" href="structwsdd_____probe_matches_type.html">wsdd__ProbeMatchesType</a> *matches, const char *EndpointReference, const char *Types, const char *Scopes, const char *MatchBy, const char *XAddrs, unsigned int MetadataVersion)</td></tr>
<tr class="memdesc:a4f4515c5b9e25069b3a6051ffa73d288"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a match to the probe matches container.  <a href="#a4f4515c5b9e25069b3a6051ffa73d288">More...</a><br /></td></tr>
<tr class="separator:a4f4515c5b9e25069b3a6051ffa73d288"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1fd8fdfb24767d214f68659bfbe4187"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC1 int SOAP_FMAC2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#ac1fd8fdfb24767d214f68659bfbe4187">soap_wsdd_ProbeMatches</a> (struct soap *soap, const char *endpoint, const char *MessageID, const char *RelatesTo, const char *To, struct <a class="el" href="structwsdd_____probe_matches_type.html">wsdd__ProbeMatchesType</a> *matches)</td></tr>
<tr class="memdesc:ac1fd8fdfb24767d214f68659bfbe4187"><td class="mdescLeft">&#160;</td><td class="mdescRight">TS or DP ProbeMatches message.  <a href="#ac1fd8fdfb24767d214f68659bfbe4187">More...</a><br /></td></tr>
<tr class="separator:ac1fd8fdfb24767d214f68659bfbe4187"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a9722eaaef27e3655714b7592aa3af9"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC1 int SOAP_FMAC2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a6a9722eaaef27e3655714b7592aa3af9">soap_wsdd_ResolveMatches</a> (struct soap *soap, const char *endpoint, const char *MessageID, const char *RelatesTo, const char *To, const char *EndpointReference, const char *Types, const char *Scopes, const char *MatchBy, const char *XAddrs, unsigned int MetadataVersion)</td></tr>
<tr class="memdesc:a6a9722eaaef27e3655714b7592aa3af9"><td class="mdescLeft">&#160;</td><td class="mdescRight">TS or DP ResolveMatches message.  <a href="#a6a9722eaaef27e3655714b7592aa3af9">More...</a><br /></td></tr>
<tr class="separator:a6a9722eaaef27e3655714b7592aa3af9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaf4e9c91f54ffcf09534b68b5ee6778"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC1 int SOAP_FMAC2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#aeaf4e9c91f54ffcf09534b68b5ee6778">soap_wsdd_listen</a> (struct soap *soap, int timeout)</td></tr>
<tr class="memdesc:aeaf4e9c91f54ffcf09534b68b5ee6778"><td class="mdescLeft">&#160;</td><td class="mdescRight">Listen on a port for inbound WS-Discovery messages, also cleans up memory with <code>soap_destroy</code> and <code>soap_end</code>.  <a href="#aeaf4e9c91f54ffcf09534b68b5ee6778">More...</a><br /></td></tr>
<tr class="separator:aeaf4e9c91f54ffcf09534b68b5ee6778"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a758d19132c90b4546e517f91ceede836"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC1 int SOAP_FMAC2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a758d19132c90b4546e517f91ceede836">soap_wsdd_serve_request</a> (struct soap *soap)</td></tr>
<tr class="separator:a758d19132c90b4546e517f91ceede836"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ff39c1ead345380963b292a21dc9960"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a5ff39c1ead345380963b292a21dc9960">__wsdd__Hello</a> (struct soap *soap, struct <a class="el" href="structwsdd_____hello_type.html">wsdd__HelloType</a> *Hello)</td></tr>
<tr class="memdesc:a5ff39c1ead345380963b292a21dc9960"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal WS-Discovery service operation.  <a href="#a5ff39c1ead345380963b292a21dc9960">More...</a><br /></td></tr>
<tr class="separator:a5ff39c1ead345380963b292a21dc9960"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ade69029974cbac3b06afb74d452964"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a2ade69029974cbac3b06afb74d452964">__wsdd__Bye</a> (struct soap *soap, struct <a class="el" href="structwsdd_____bye_type.html">wsdd__ByeType</a> *Bye)</td></tr>
<tr class="memdesc:a2ade69029974cbac3b06afb74d452964"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal WS-Discovery service operation.  <a href="#a2ade69029974cbac3b06afb74d452964">More...</a><br /></td></tr>
<tr class="separator:a2ade69029974cbac3b06afb74d452964"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29c3eb211a71c1fab6c773f5b5ed1adb"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a29c3eb211a71c1fab6c773f5b5ed1adb">__wsdd__Probe</a> (struct soap *soap, struct <a class="el" href="structwsdd_____probe_type.html">wsdd__ProbeType</a> *Probe)</td></tr>
<tr class="memdesc:a29c3eb211a71c1fab6c773f5b5ed1adb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal WS-Discovery service operation.  <a href="#a29c3eb211a71c1fab6c773f5b5ed1adb">More...</a><br /></td></tr>
<tr class="separator:a29c3eb211a71c1fab6c773f5b5ed1adb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaabc1f3cc187e5724470cbfdeed1da6"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#aaaabc1f3cc187e5724470cbfdeed1da6">__wsdd__ProbeMatches</a> (struct soap *soap, struct <a class="el" href="structwsdd_____probe_matches_type.html">wsdd__ProbeMatchesType</a> *ProbeMatches)</td></tr>
<tr class="memdesc:aaaabc1f3cc187e5724470cbfdeed1da6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal WS-Discovery service operation.  <a href="#aaaabc1f3cc187e5724470cbfdeed1da6">More...</a><br /></td></tr>
<tr class="separator:aaaabc1f3cc187e5724470cbfdeed1da6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0ace89168d2e0180730cf42e0c96127"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#aa0ace89168d2e0180730cf42e0c96127">__wsdd__Resolve</a> (struct soap *soap, struct <a class="el" href="structwsdd_____resolve_type.html">wsdd__ResolveType</a> *Resolve)</td></tr>
<tr class="memdesc:aa0ace89168d2e0180730cf42e0c96127"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal WS-Discovery service operation.  <a href="#aa0ace89168d2e0180730cf42e0c96127">More...</a><br /></td></tr>
<tr class="separator:aa0ace89168d2e0180730cf42e0c96127"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1a35f73401918b02c3aa704cbb606ff"><td class="memItemLeft" align="right" valign="top">SOAP_FMAC5 int SOAP_FMAC6&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#af1a35f73401918b02c3aa704cbb606ff">__wsdd__ResolveMatches</a> (struct soap *soap, struct <a class="el" href="structwsdd_____resolve_matches_type.html">wsdd__ResolveMatchesType</a> *ResolveMatches)</td></tr>
<tr class="memdesc:af1a35f73401918b02c3aa704cbb606ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal WS-Discovery service operation.  <a href="#af1a35f73401918b02c3aa704cbb606ff">More...</a><br /></td></tr>
<tr class="separator:af1a35f73401918b02c3aa704cbb606ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24726d40e324bced15ea7c32e8e01de7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a24726d40e324bced15ea7c32e8e01de7">wsdd_event_Hello</a> (struct soap *soap, unsigned int InstanceId, const char *SequenceId, unsigned int MessageNumber, const char *MessageID, const char *RelatesTo, const char *EndpointReference, const char *Types, const char *Scopes, const char *MatchBy, const char *XAddrs, unsigned int MetadataVersion)</td></tr>
<tr class="memdesc:a24726d40e324bced15ea7c32e8e01de7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles and registers a Hello event from a TS or DP joining the network.  <a href="#a24726d40e324bced15ea7c32e8e01de7">More...</a><br /></td></tr>
<tr class="separator:a24726d40e324bced15ea7c32e8e01de7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2741ba2ad6403207601ca2dbd9091e66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a2741ba2ad6403207601ca2dbd9091e66">wsdd_event_Bye</a> (struct soap *soap, unsigned int InstanceId, const char *SequenceId, unsigned int MessageNumber, const char *MessageID, const char *RelatesTo, const char *EndpointReference, const char *Types, const char *Scopes, const char *MatchBy, const char *XAddrs, unsigned int *MetadataVersion)</td></tr>
<tr class="memdesc:a2741ba2ad6403207601ca2dbd9091e66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles and registers a Bye event from a TS or DP leaving the network.  <a href="#a2741ba2ad6403207601ca2dbd9091e66">More...</a><br /></td></tr>
<tr class="separator:a2741ba2ad6403207601ca2dbd9091e66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbabd438789cc445ee72372722e7a6f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#abbabd438789cc445ee72372722e7a6f4">wsdd_event_Probe</a> (struct soap *soap, const char *MessageID, const char *ReplyTo, const char *Types, const char *Scopes, const char *MatchBy, struct <a class="el" href="structwsdd_____probe_matches_type.html">wsdd__ProbeMatchesType</a> *matches)</td></tr>
<tr class="memdesc:abbabd438789cc445ee72372722e7a6f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles a Probe event from a Client.  <a href="#abbabd438789cc445ee72372722e7a6f4">More...</a><br /></td></tr>
<tr class="separator:abbabd438789cc445ee72372722e7a6f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbe8ef906112805937c9f19701649ba3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#acbe8ef906112805937c9f19701649ba3">wsdd_event_ProbeMatches</a> (struct soap *soap, unsigned int InstanceId, const char *SequenceId, unsigned int MessageNumber, const char *MessageID, const char *RelatesTo, struct <a class="el" href="structwsdd_____probe_matches_type.html">wsdd__ProbeMatchesType</a> *matches)</td></tr>
<tr class="memdesc:acbe8ef906112805937c9f19701649ba3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles a Probe event from a Client.  <a href="#acbe8ef906112805937c9f19701649ba3">More...</a><br /></td></tr>
<tr class="separator:acbe8ef906112805937c9f19701649ba3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeeb67571da9ca4a2da8730d49cae3021"><td class="memItemLeft" align="right" valign="top"><a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#aeeb67571da9ca4a2da8730d49cae3021">wsdd_event_Resolve</a> (struct soap *soap, const char *MessageID, const char *ReplyTo, const char *EndpointReference, struct <a class="el" href="structwsdd_____resolve_match_type.html">wsdd__ResolveMatchType</a> *match)</td></tr>
<tr class="memdesc:aeeb67571da9ca4a2da8730d49cae3021"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles a Resolve event from a Client.  <a href="#aeeb67571da9ca4a2da8730d49cae3021">More...</a><br /></td></tr>
<tr class="separator:aeeb67571da9ca4a2da8730d49cae3021"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fe08bbe8ab19ff2a1e0874c0a104d18"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="wsddapi_8h.html#a6fe08bbe8ab19ff2a1e0874c0a104d18">wsdd_event_ResolveMatches</a> (struct soap *soap, unsigned int InstanceId, const char *SequenceId, unsigned int MessageNumber, const char *MessageID, const char *RelatesTo, struct <a class="el" href="structwsdd_____resolve_match_type.html">wsdd__ResolveMatchType</a> *match)</td></tr>
<tr class="memdesc:a6fe08bbe8ab19ff2a1e0874c0a104d18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles a Probe event from a Client.  <a href="#a6fe08bbe8ab19ff2a1e0874c0a104d18">More...</a><br /></td></tr>
<tr class="separator:a6fe08bbe8ab19ff2a1e0874c0a104d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a7f11dbab2cf855d8c508305c7082d53b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SOAP_WSDD_APP_MAX_DELAY&#160;&#160;&#160;(500)   /* ms delay */</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>A Target Service MUST wait t (ms) to elapse before sending the message, where 0 &lt; t &lt; APP_MAX_DELAY is randomly choosen. The default APP_MAX_DELAY is 500 ms. </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a089c2cc861af78d1c5db0b4587cf1692"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a>  <a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>If the DP is unresponsive after DP_MAX_TIMEOUT, or if the Client finds the responses from the DP unsatisfactory, the Client reverts to using the multicast messages. Managed or ad-hoc mode </p>

</div>
</div>
<a class="anchor" id="ad2afcbdc0ad2f8a379b7f64a6b6acbc1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="wsddapi_8h.html#adcd746964993574992fa2bafa83aed5c">soap_wsdd_to</a>  <a class="el" href="wsddapi_8h.html#adcd746964993574992fa2bafa83aed5c">soap_wsdd_to</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Send message to Target Service (TS) or Discovery Proxy (DP) </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="a4d8f41b14eeb3500631fd39cad15b4a7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>If the DP is unresponsive after DP_MAX_TIMEOUT, or if the Client finds the responses from the DP unsatisfactory, the Client reverts to using the multicast messages. Managed or ad-hoc mode </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a4d8f41b14eeb3500631fd39cad15b4a7a06282f02ad809feed167d23a3cf5ac46"></a>SOAP_WSDD_MANAGED&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a4d8f41b14eeb3500631fd39cad15b4a7ac6264855642c10f4a15a1c2752ba7b91"></a>SOAP_WSDD_ADHOC&#160;</td><td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="adcd746964993574992fa2bafa83aed5c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="wsddapi_8h.html#adcd746964993574992fa2bafa83aed5c">soap_wsdd_to</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Send message to Target Service (TS) or Discovery Proxy (DP) </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="adcd746964993574992fa2bafa83aed5ca679dc4dd44e15e83c37723ae7a25c676"></a>SOAP_WSDD_TO_DP&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="adcd746964993574992fa2bafa83aed5caeaede3f37955eb85c93830a96b8d0b64"></a>SOAP_WSDD_TO_TS&#160;</td><td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a2ade69029974cbac3b06afb74d452964"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int __wsdd__Bye </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____bye_type.html">wsdd__ByeType</a> *&#160;</td>
          <td class="paramname"><em>Bye</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal WS-Discovery service operation. </p>

</div>
</div>
<a class="anchor" id="a5ff39c1ead345380963b292a21dc9960"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int __wsdd__Hello </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____hello_type.html">wsdd__HelloType</a> *&#160;</td>
          <td class="paramname"><em>Hello</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal WS-Discovery service operation. </p>

</div>
</div>
<a class="anchor" id="a29c3eb211a71c1fab6c773f5b5ed1adb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int __wsdd__Probe </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____probe_type.html">wsdd__ProbeType</a> *&#160;</td>
          <td class="paramname"><em>Probe</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal WS-Discovery service operation. </p>

</div>
</div>
<a class="anchor" id="aaaabc1f3cc187e5724470cbfdeed1da6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int __wsdd__ProbeMatches </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____probe_matches_type.html">wsdd__ProbeMatchesType</a> *&#160;</td>
          <td class="paramname"><em>ProbeMatches</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal WS-Discovery service operation. </p>

</div>
</div>
<a class="anchor" id="aa0ace89168d2e0180730cf42e0c96127"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int __wsdd__Resolve </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____resolve_type.html">wsdd__ResolveType</a> *&#160;</td>
          <td class="paramname"><em>Resolve</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal WS-Discovery service operation. </p>

</div>
</div>
<a class="anchor" id="af1a35f73401918b02c3aa704cbb606ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int __wsdd__ResolveMatches </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____resolve_matches_type.html">wsdd__ResolveMatchesType</a> *&#160;</td>
          <td class="paramname"><em>ResolveMatches</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal WS-Discovery service operation. </p>

</div>
</div>
<a class="anchor" id="a5289f81b5576ca006669501cb745aa24"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC5 int SOAP_FMAC6 soap_recv___wsdd__Bye </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="wsdx_8h.html#ad8cc7556954a9a110641e869eb363704">__wsdd__Bye</a> *&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="afc8ca5315e5a93644471cee43a5a4203"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC5 int SOAP_FMAC6 soap_recv___wsdd__Hello </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="wsdx_8h.html#aeb6a647e94c6487994f5d7e93ed1b777">__wsdd__Hello</a> *&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4e2a94fce81b0f13c0b8a17a9927f9a5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC5 int SOAP_FMAC6 soap_recv___wsdd__Probe </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="wsdx_8h.html#a43e6efe48e11a2a907ce4a625f8e81c1">__wsdd__Probe</a> *&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a1a38bb5eaab943657f008d324a52f441"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC5 int SOAP_FMAC6 soap_recv___wsdd__ProbeMatches </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="wsdx_8h.html#ab56d88c0bf8e861f01f84735936c912e">__wsdd__ProbeMatches</a> *&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac5150fcfc64cde5a0e6b3b9ecaf068c2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC5 int SOAP_FMAC6 soap_recv___wsdd__Resolve </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="wsdx_8h.html#a2c473690e347a514cecf939fe6483fd4">__wsdd__Resolve</a> *&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af44105a8b9483f8bfb07546099b83203"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC5 int SOAP_FMAC6 soap_recv___wsdd__ResolveMatches </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="wsdx_8h.html#afb2add6c7721f9950790a18d55829f12">__wsdd__ResolveMatches</a> *&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a035fe437f56818426824c5bfd0d63f7d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC5 int SOAP_FMAC6 soap_send___wsdd__Bye </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_action</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____bye_type.html">wsdd__ByeType</a> *&#160;</td>
          <td class="paramname"><em>wsdd__Bye</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a67c9f7fa5da1b42ef5b4bfb141705fe0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC5 int SOAP_FMAC6 soap_send___wsdd__Hello </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_action</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____hello_type.html">wsdd__HelloType</a> *&#160;</td>
          <td class="paramname"><em>wsdd__Hello</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac10fa758f61efefa8054ccd3b79ea66a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC5 int SOAP_FMAC6 soap_send___wsdd__Probe </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_action</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____probe_type.html">wsdd__ProbeType</a> *&#160;</td>
          <td class="paramname"><em>wsdd__Probe</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae85ebbf00b9e926282d9519c419494d9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC5 int SOAP_FMAC6 soap_send___wsdd__ProbeMatches </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_action</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____probe_matches_type.html">wsdd__ProbeMatchesType</a> *&#160;</td>
          <td class="paramname"><em>wsdd__ProbeMatches</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab4542c182e91c55e03b8125e75c64b09"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC5 int SOAP_FMAC6 soap_send___wsdd__Resolve </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_action</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____resolve_type.html">wsdd__ResolveType</a> *&#160;</td>
          <td class="paramname"><em>wsdd__Resolve</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aceb13e1f303b6f0d41b84a865e387d54"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC5 int SOAP_FMAC6 soap_send___wsdd__ResolveMatches </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>soap_action</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____resolve_matches_type.html">wsdd__ResolveMatchesType</a> *&#160;</td>
          <td class="paramname"><em>wsdd__ResolveMatches</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4f4515c5b9e25069b3a6051ffa73d288"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_wsdd_add_ProbeMatch </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____probe_matches_type.html">wsdd__ProbeMatchesType</a> *&#160;</td>
          <td class="paramname"><em>matches</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>EndpointReference</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Types</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Scopes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MatchBy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>XAddrs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>MetadataVersion</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a match to the probe matches container. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">matches</td><td>the container to update with a new match </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">EndpointReference</td><td>of this Target Server or Discovery Proxy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Types</td><td>an unordered string of QNames or NULL, a Discovery Proxy MUST include "wsdd:DiscoveryProxy" </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Scopes</td><td>an unordered set of scopes or NULL </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MatchBy</td><td>NULL (unused, reserved) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">XAddrs</td><td>contains the transport address(es) that MAY be used to communicate with the Target Service or Discovery Proxy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MetadataVersion</td><td>incremented by a positive value (&gt;= 1) whenever there is a change in the metadata of the Target Service </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SOAP_OK or error code</dd></dl>
<p>To populate a Probe matches container, first initialize with <a class="el" href="wsddapi_8c.html#ab76b80149b6368e770386db944416670">soap_wsdd_init_ProbeMatches</a>, then use this function to add each match. The container is deallocated with soap_end(soap) and can be initialized again (without leaks). </p>

</div>
</div>
<a class="anchor" id="a5912eb51290b18adb51cfa80e8c55671"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_wsdd_Bye </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a>&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MessageID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>EndpointReference</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Types</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Scopes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MatchBy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>XAddrs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>MetadataVersion</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TS or DP Bye message to leave a network. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>SOAP_WSDD_MANAGED or SOAP_WSDD_ADHOC </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">endpoint</td><td>to send Bye message to (unicast or multicast) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageID</td><td>unique WS-Addressing message ID (<a class="el" href="wsaapi_8c.html#ac6daecc175e39ca5869b0821eafab6ff">soap_wsa_rand_uuid</a>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">EndpointReference</td><td>of this Target Server or Discovery Proxy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Types</td><td>an unordered string of QNames or NULL, a Discovery Proxy MUST include "wsdd:DiscoveryProxy" </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Scopes</td><td>an unordered set of scopes or NULL </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MatchBy</td><td>NULL (unused, reserved) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">XAddrs</td><td>contains the transport address(es) that MAY be used to communicate with the Target Service or Discovery Proxy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MetadataVersion</td><td>incremented by a positive value (&gt;= 1) whenever there is a change in the metadata of the Target Service </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SOAP_OK or error code</dd></dl>
<p>Bye is a one-way message sent by a Target Service to announce its unavailability as a best effort when it leaves the network. </p>

</div>
</div>
<a class="anchor" id="a4468038ee56dc4709e1550f57dadb0c4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_wsdd_Hello </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a>&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MessageID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>RelatesTo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>EndpointReference</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Types</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Scopes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MatchBy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>XAddrs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>MetadataVersion</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TS or DP Hello message to join a network. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>SOAP_WSDD_MANAGED or SOAP_WSDD_ADHOC </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">endpoint</td><td>to send Hello message to (unicast or multicast) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageID</td><td>unique WS-Addressing message ID (<a class="el" href="wsaapi_8c.html#ac6daecc175e39ca5869b0821eafab6ff">soap_wsa_rand_uuid</a>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">RelatesTo</td><td>WS-Addressing message ID </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">EndpointReference</td><td>of this Target Server or Discovery Proxy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Types</td><td>an unordered string of QNames or NULL, a Discovery Proxy MUST include "wsdd:DiscoveryProxy" </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Scopes</td><td>an unordered set of scopes or NULL </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MatchBy</td><td>NULL (unused, reserved) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">XAddrs</td><td>contains the transport address(es) that MAY be used to communicate with the Target Service or Discovery Proxy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MetadataVersion</td><td>incremented by a positive value (&gt;= 1) whenever there is a change in the metadata of the Target Service </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SOAP_OK or error code</dd></dl>
<p>Hello is a one-way message sent by a Target Service to announce its availability when it joins the network. It is also sent by a Discovery Proxy to reduce multicast traffic on an ad hoc network. </p>

</div>
</div>
<a class="anchor" id="ad3a76f8ee99b6a2d5a6e30d2d1d3badd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void soap_wsdd_init_ProbeMatches </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____probe_matches_type.html">wsdd__ProbeMatchesType</a> *&#160;</td>
          <td class="paramname"><em>matches</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initalize the probe matches container. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramname">matches</td><td>the container with matches to initialize </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aeaf4e9c91f54ffcf09534b68b5ee6778"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_wsdd_listen </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>timeout</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Listen on a port for inbound WS-Discovery messages, also cleans up memory with <code>soap_destroy</code> and <code>soap_end</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>seconds to listen (use negative value for micro seconds) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SOAP_OK or error code</dd></dl>
<p>First you need to open a port with soap_bind(soap). Then invoke this function to listen to WS-Discovery messages on that port. Inbound messages are accepted and the information is relayed to the event handlers, see Section <a class="el" href="wsdd_0.html#wsdd_2">WS-Discovery Event Handlers</a>. Use soap-&gt;user to pass a pointer to a state object that the event hanlders can use. The timeout allows a Client to periodically poll the port for messages. A value of zero will loop the listener forever or until an error occurs. </p>

</div>
</div>
<a class="anchor" id="a79d93ab49aba655b6b767b28d0aff6ad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_wsdd_Probe </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a>&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="wsddapi_8h.html#adcd746964993574992fa2bafa83aed5c">soap_wsdd_to</a>&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MessageID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>ReplyTo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Types</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Scopes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MatchBy</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Client Probe message to a TS or DP. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>SOAP_WSDD_MANAGED or SOAP_WSDD_ADHOC </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">to</td><td>SOAP_WSDD_TO_TS or SOAP_WSDD_TO_DP </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">endpoint</td><td>to send Probe to (unicast or multicast) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageID</td><td>WS-Addressing message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ReplyTo</td><td>WS-Addressing ReplyTo message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Types</td><td>an unordered string of QNames to probe </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Scopes</td><td>an unordered set of scopes to probe </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MatchBy</td><td>matching rule to apply for this probe </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SOAP_OK or error code</dd></dl>
<p>A Client sends a probe to find Target Services by the Type of the Target Service, a Scope in which the Target Service resides, both, or simply all Target Services. The matches will be delivered to <a class="el" href="wsddapi_8h.html#acbe8ef906112805937c9f19701649ba3">wsdd_event_ProbeMatches</a> when <a class="el" href="wsddapi_8c.html#aa4adce86fc059bac2ec6fc44697edd04">soap_wsdd_listen</a> receives a ProbeMatch response. The RelatesTo of the ProbeMatches is the MessageID of the Probe. </p>

</div>
</div>
<a class="anchor" id="ac1fd8fdfb24767d214f68659bfbe4187"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_wsdd_ProbeMatches </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MessageID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>RelatesTo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>To</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____probe_matches_type.html">wsdd__ProbeMatchesType</a> *&#160;</td>
          <td class="paramname"><em>matches</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TS or DP ProbeMatches message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">endpoint</td><td>to send Probe to (unicast or multicast) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageID</td><td>WS-Addressing message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">RelatesTo</td><td>WS-Addressing RelatesTo message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">To</td><td>WS-Addressing endpoint IP and port or NULL for anonymous </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">matches</td><td>contains the probe matches, use <a class="el" href="wsddapi_8c.html#a76d323b0c51a45d6a1ce8ec8e45ae642">soap_wsdd_add_ProbeMatch</a> to populate this container </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SOAP_OK or error code</dd></dl>
<p>A Client sends a probe to find Target Services by the Type of the Target Service, a Scope in which the Target Service resides, both, or simply all Target Services. The Target Server(s) or Discovery Proxy responds by sending ProbeMatches to the Client. </p>

</div>
</div>
<a class="anchor" id="acfcc0ff137be16fd9706f21faaeb7b23"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_wsdd_Resolve </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a>&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="wsddapi_8h.html#adcd746964993574992fa2bafa83aed5c">soap_wsdd_to</a>&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MessageID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>ReplyTo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>EndpointReference</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Client Resolve message to a TS or DP. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>SOAP_WSDD_MANAGED or SOAP_WSDD_ADHOC </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">to</td><td>SOAP_WSDD_TO_TS or SOAP_WSDD_TO_DP </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">endpoint</td><td>to send Resolve to (unicast or multicast) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageID</td><td>WS-Addressing message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ReplyTo</td><td>WS-Addressing ReplyTo message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">EndpointReference</td><td>of the Target Service or Discovery Proxy </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SOAP_OK or error code</dd></dl>
<p>A Client sends a resolve to locate a Target Service, i.e., to retrieve its transport address(es). This server-side event handler returns the match(es). The matches will be delivered to <a class="el" href="wsddapi_8h.html#a6fe08bbe8ab19ff2a1e0874c0a104d18">wsdd_event_ResolveMatches</a> when <a class="el" href="wsddapi_8c.html#aa4adce86fc059bac2ec6fc44697edd04">soap_wsdd_listen</a> receives a ResolveMatch response. The RelatesTo of the ResolveMatches is the MessageID of the Resolve. </p>

</div>
</div>
<a class="anchor" id="a6a9722eaaef27e3655714b7592aa3af9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int soap_wsdd_ResolveMatches </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MessageID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>RelatesTo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>To</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>EndpointReference</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Types</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Scopes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MatchBy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>XAddrs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>MetadataVersion</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>TS or DP ResolveMatches message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">endpoint</td><td>to send Probe to (unicast or multicast) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageID</td><td>WS-Addressing message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">RelatesTo</td><td>WS-Addressing RelatesTo message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">To</td><td>WS-Addressing endpoint IP and port or NULL for anonymous </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">EndpointReference</td><td>of the Target Service </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Types</td><td>an unordered string of QNames or NULL, a Discovery Proxy MUST include "wsdd:DiscoveryProxy" </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Scopes</td><td>an unordered set of scopes or NULL </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MatchBy</td><td>NULL (unused, reserved) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">XAddrs</td><td>contains the transport address(es) that MAY be used to communicate with the Target Service or Discovery Proxy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MetadataVersion</td><td>incremented by a positive value (&gt;= 1) whenever there is a change in the metadata of the Target Service </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SOAP_OK or error code</dd></dl>
<p>A Client sends a resolve to locate a Target Service, i.e., to retrieve its transport address(es). The Target Server(s) or Discovery Proxy responds by sending ResolveMatches to the Client. </p>

</div>
</div>
<a class="anchor" id="a758d19132c90b4546e517f91ceede836"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SOAP_FMAC1 int SOAP_FMAC2 soap_wsdd_serve_request </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a1ec500ee6af80546d3dcfdda8e92491a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void soap_wsdd_set_InstanceId </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>InstanceId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the global AppSequence InstanceId that is used to populate messages. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">InstanceId</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a482275d15c041cf2b9d444ae6978f714"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void soap_wsdd_set_SequenceId </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>SequenceId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the global AppSequence SequenceId that is used to populate messages. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">SequenceId</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2741ba2ad6403207601ca2dbd9091e66"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wsdd_event_Bye </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>InstanceId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>SequenceId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>MessageNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MessageID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>RelatesTo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>EndpointReference</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Types</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Scopes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MatchBy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>XAddrs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>MetadataVersion</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles and registers a Bye event from a TS or DP leaving the network. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context (use soap-&gt;user as a pointer to a global state if needed) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">InstanceId</td><td>(see WS-Discovery 1.1 Section 7 Application Sequencing) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">SequenceId</td><td>(see WS-Discovery 1.1 Section 7 Application Sequencing) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageNumber</td><td>(see WS-Discovery 1.1 Section 7 Application Sequencing) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageID</td><td>WS-Addressing message ID of the Bye message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">RelatesTo</td><td>WS-Addressing RelatesTo message ID of the Bye message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">EndpointReference</td><td>of the Target Service or Discovery Proxy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Types</td><td>an unordered string of QNames of services provided by the Target Service or Discovery Proxy where a Discovery Proxy MUST include "wsdd:DiscoveryProxy" </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Scopes</td><td>an unordered set of Scopes the Target Service or Discovery Proxy is in </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MatchBy</td><td>unused (reserved) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">XAddrs</td><td>contains the transport address(es) that MAY be used to communicate with the Target Service or Discovery Proxy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MetadataVersion</td><td>incremented by a positive value (&gt;= 1) whenever there is a change in the metadata of the Target Service</td></tr>
  </table>
  </dd>
</dl>
<p>Bye is a one-way message sent by a Target Service to announce its unavailability as a best effort when it leaves the network.</p>
<p>To maintain a global state between events, for example to internally register Target Services, Discovery Proxies, and update the status of these, use void *soap-&gt;user to point to a global state (that you need to define). </p>

</div>
</div>
<a class="anchor" id="a24726d40e324bced15ea7c32e8e01de7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wsdd_event_Hello </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>InstanceId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>SequenceId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>MessageNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MessageID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>RelatesTo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>EndpointReference</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Types</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Scopes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MatchBy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>XAddrs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>MetadataVersion</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles and registers a Hello event from a TS or DP joining the network. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context (use soap-&gt;user as a pointer to a global state if needed) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">InstanceId</td><td>(see WS-Discovery 1.1 Section 7 Application Sequencing) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">SequenceId</td><td>(see WS-Discovery 1.1 Section 7 Application Sequencing) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageNumber</td><td>(see WS-Discovery 1.1 Section 7 Application Sequencing) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageID</td><td>WS-Addressing message ID of the Hello message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">RelatesTo</td><td>WS-Addressing RelatesTo message ID of the Hello message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">EndpointReference</td><td>of the Target Service or Discovery Proxy that joins </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Types</td><td>an unordered string of QNames of services provided by the Target Service or Discovery Proxy where a Discovery Proxy MUST include "wsdd:DiscoveryProxy" </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Scopes</td><td>an unordered set of Scopes the Target Service or Discovery Proxy is in </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MatchBy</td><td>unused (reserved) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">XAddrs</td><td>contains the transport address(es) that MAY be used to communicate with the Target Service or Discovery Proxy </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MetadataVersion</td><td>incremented by a positive value (&gt;= 1) whenever there is a change in the metadata of the Target Service</td></tr>
  </table>
  </dd>
</dl>
<p>Hello is a one-way message sent by a Target Service to announce its availability when it joins the network. It is also sent by a Discovery Proxy to reduce multicast traffic on an ad hoc network.</p>
<p>To maintain a global state between events, for example to internally register Target Services, Discovery Proxies, and update the status of these, use void *soap-&gt;user to point to a global state (that you need to define). </p>

</div>
</div>
<a class="anchor" id="abbabd438789cc445ee72372722e7a6f4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a> wsdd_event_Probe </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MessageID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>ReplyTo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Types</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Scopes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MatchBy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____probe_matches_type.html">wsdd__ProbeMatchesType</a> *&#160;</td>
          <td class="paramname"><em>matches</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles a Probe event from a Client. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context (use soap-&gt;user as a pointer to a global state if needed) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageID</td><td>WS-Addressing message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ReplyTo</td><td>WS-Addressing ReplyTo message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Types</td><td>an unordered string of QNames to probe </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">Scopes</td><td>an unordered set of scopes to probe </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MatchBy</td><td>matching rule to apply for this probe </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">matches</td><td>contains probe matches returned by event handler, use <a class="el" href="wsddapi_8c.html#a76d323b0c51a45d6a1ce8ec8e45ae642">soap_wsdd_add_ProbeMatch</a> to populate the matches in the handler </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>managed (SOAP_WSDD_MANAGED) or ad-hoc (SOAP_WSDD_ADHOC) mode to use to return the matches</dd></dl>
<p>A Client sends a probe to find Target Services by the Type of the Target Service, a Scope in which the Target Service resides, both, or simply all Target Services. The matches are returned by this server-side event handler that match the Client's probe.</p>
<p>To maintain a global state between events, for example to internally register Target Services, Discovery Proxies, and update the status of these, use void *soap-&gt;user to point to a global state (that you need to define). </p>

</div>
</div>
<a class="anchor" id="acbe8ef906112805937c9f19701649ba3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wsdd_event_ProbeMatches </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>InstanceId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>SequenceId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>MessageNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MessageID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>RelatesTo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____probe_matches_type.html">wsdd__ProbeMatchesType</a> *&#160;</td>
          <td class="paramname"><em>matches</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles a Probe event from a Client. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context (use soap-&gt;user as a pointer to a global state if needed) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">InstanceId</td><td>(see WS-Discovery 1.1 Section 7 Application Sequencing) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">SequenceId</td><td>(see WS-Discovery 1.1 Section 7 Application Sequencing) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageNumber</td><td>(see WS-Discovery 1.1 Section 7 Application Sequencing) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageID</td><td>WS-Addressing message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">RelatesTo</td><td>WS-Addressing RelatesTo message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">matches</td><td>contains the probe matches</td></tr>
  </table>
  </dd>
</dl>
<p>A Client sends a probe to find Target Services by the Type of the Target Service, a Scope in which the Target Service resides, both, or simply all Target Services. The matches are provided to this client-side event handler.</p>
<p>To maintain a global state between events, for example to internally register Target Services, Discovery Proxies, and update the status of these, use void *soap-&gt;user to point to a global state (that you need to define). </p>

</div>
</div>
<a class="anchor" id="aeeb67571da9ca4a2da8730d49cae3021"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="wsddapi_8h.html#a4d8f41b14eeb3500631fd39cad15b4a7">soap_wsdd_mode</a> wsdd_event_Resolve </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MessageID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>ReplyTo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>EndpointReference</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____resolve_match_type.html">wsdd__ResolveMatchType</a> *&#160;</td>
          <td class="paramname"><em>match</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles a Resolve event from a Client. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context (use soap-&gt;user as a pointer to a global state if needed) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageID</td><td>WS-Addressing message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ReplyTo</td><td>WS-Addressing ReplyTo message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">EndpointReference</td><td>of the Target Service or Discovery Proxy </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">match</td><td>contains the match returned by the event handler </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>managed (SOAP_WSDD_MANAGED) or ad-hoc (SOAP_WSDD_ADHOC) mode to use to return the matches</dd></dl>
<p>A Client sends a resolve to locate a Target Service, i.e., to retrieve its transport address(es). This server-side event handler returns the match(es).</p>
<p>To maintain a global state between events, for example to internally register Target Services, Discovery Proxies, and update the status of these, use void *soap-&gt;user to point to a global state (that you need to define). </p>

</div>
</div>
<a class="anchor" id="a6fe08bbe8ab19ff2a1e0874c0a104d18"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wsdd_event_ResolveMatches </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>InstanceId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>SequenceId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>MessageNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>MessageID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>RelatesTo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structwsdd_____resolve_match_type.html">wsdd__ResolveMatchType</a> *&#160;</td>
          <td class="paramname"><em>match</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles a Probe event from a Client. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">soap</td><td>context (use soap-&gt;user as a pointer to a global state if needed) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">InstanceId</td><td>(see WS-Discovery 1.1 Section 7 Application Sequencing) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">SequenceId</td><td>(see WS-Discovery 1.1 Section 7 Application Sequencing) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageNumber</td><td>(see WS-Discovery 1.1 Section 7 Application Sequencing) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">MessageID</td><td>WS-Addressing message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">RelatesTo</td><td>WS-Addressing RelatesTo message ID of the message </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">match</td><td>contains the resolve match</td></tr>
  </table>
  </dd>
</dl>
<p>A Client sends a resolve to locate a Target Service, i.e., to retrieve its transport address(es). This client-side event handler receives the match.</p>
<p>To maintain a global state between events, for example to internally register Target Services, Discovery Proxies, and update the status of these, use void *soap-&gt;user to point to a global state (that you need to define). </p>

</div>
</div>
</div><!-- contents -->
<hr class="footer">
<address class="footer">
Copyright (C) 2020, Robert van Engelen, Genivia Inc., All Rights Reserved.
</address>
<address class="footer"><small>
Converted on Thu Nov 19 2020 12:38:04 by <a target="_blank" href="http://www.doxygen.org/index.html">Doxygen</a> 1.8.11</small></address>
<br>
<div style="height: 246px; background: #DBDBDB;">
</body>
</html>
